1
超越逐点操作:理解归约模式
AI023Lesson 8
00:00

虽然 逐点操作 对张量中的每个元素独立处理, 归约模式 引入数据依赖关系,将多个输入元素合并为一个输出值(例如求和、取最大值或平均值)。要高效实现这些操作,必须弥合理论上的二维数据结构与硬件内存中线性表示之间的差距。

1. 二维内存映射

二维张量在逻辑上是网格结构,但在物理内存中是线性排列的。理解 行优先列优先 布局对于判断归约操作是否遍历连续内存地址,还是需要步进访问至关重要。

2. 逐点操作与归约拓扑结构

一个 矩阵复制 代表一种一对一($1:1$)输入到输出映射的逐点操作。相比之下,一个 归约 是一种多对一($N:1$)的操作,需要在线程间共享累加或在块内进行顺序处理。

逐点操作(矩阵复制)归约(行最大值)

3. 维度坍缩

归约操作由其 决定。沿轴 1(行)与轴 0(列)进行归约,会从根本上改变内存步长模式和硬件缓存命中率。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>